// pages/search/index.js
// 1 输入框绑定 值改变事件  input事件
//     1 获取到输入框的值
//     2 合法性判断
//     3 检测通过 把输入框的值 发送到后台
//     4 返回的数据打印到页面上
// 2 防抖 （防止抖动） 定时器 节流
//     1 防抖 一般用于 输入框中防止触发输入 重复发请求
//     2 节流 一般用于在页面下拉和上拉
//     3 要定义全局的定时器id



// 引入用来发送请求的 方法 一定要把路径补全
import {request} from '../../request/index.js'
import regeneratorRuntime from '../../lib/runtime/runtime'
Page({
    Data:{
        goods:[],
        isFocus:false,
        inpValue:''

    },
    TimeId:-1,


    // 输入框绑定 值改变事件
    handleInput(e){
        // 获取输入框的值
        // console.log(e)
        const {value}=e.detail;
        // console.log(value)
        // 检验合法性
        if(!value.trim()){
            this.setData({
                goods:[],
                isFocus:false
            })
            // 如果值不合法，阻止代码向下执行
            return
        }
        //  验证合法 准备发送请求获取数据
        this.setData({
            isFocus:true
        })
        clearTimeout(this.TimeId);
        this.TimeId=setTimeout(()=>{
            this.qsearch(value);

        },1000)



    },
//  发送请求获取搜索数据
 async qsearch(query){
    const res =  await request({url:"/goods/qsearch",data:{query}});
    console.log(res);
    this.setData({
        goods:res
    })

 },

//  点击按钮取消事件
 handleCancel(){
     this.setData({
         isFocus:false,
         goods:[],
         inpValue:''

     })

 }



})